package repository;

import java.util.List;

import javax.ejb.Local;

import model.Candidate;
import model.Comment;
import model.Position;
import repository.exceptions.RepositoryException;

@Local
public interface PositionRepository extends BaseRepository<Position,Long>{

	List<Candidate> getCandidatesForPosition(Long id) throws RepositoryException;
	
	List<Comment> getCommentsForPosition(Long id) throws RepositoryException;
	
	List<Position> getActivePositions() throws RepositoryException;
	
	List<Position> getInactivePositions() throws RepositoryException;
	
	void approvePosition(Long id) throws RepositoryException;
	
	void deactivatePosition(Long id) throws RepositoryException;
	
	void selectCandidate(Long id,Candidate c) throws RepositoryException;
	
	public void addCommentToPosition(Long id, Comment c) throws RepositoryException;
	
	public List<Position> getApprovedPositions() throws RepositoryException;
	
	public List<Position> getUnApprovedPositions() throws RepositoryException;
	
	public Position getPositionByName(String name) throws RepositoryException;
}
